"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/6/3 10:47
@Description :  装饰器的使用
使用装饰器时如何通过装饰器实现参数传递
"""
# 增加数学运算  通用的修饰器
def create_operation_decorators(operation):
    def sum_pro(fn):
        def inner(*args):
            if operation == '+':
                print('----------正在努力进行加法计算----------')
            elif operation == '-':
                print('----------正在努力进行减法计算----------')
            result = fn(*args)
            # 返回目标函数的执行结果
            return result
        return inner
    return sum_pro


# 有多个参数的函数
@create_operation_decorators('+')
def sum_number(a, b):
    print(f'{a}+{b} = {a + b}')
    return a + b


@create_operation_decorators('-')
def sub_number(a, b):
    print(f'{a}-{b} = {a - b}')
    return a - b


if __name__ == '__main__':
    result = sum_number(1, 2)
    print('sum_num', result)
    result = sub_number(2, 1)
    print(result)
